The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
A baseboard management controller (BMC) is a microcontroller that monitors the health and operation of the computer. The BMC monitors health-related aspects associated with the computer such as the temperature of components within the computer, the speed of rotational components (e.g., spindle motor, CPU fan, etc.) within the system, the voltage across or applied to one or more components within the system, and the available or used capacity of memory devices within the system. Other parameters may also be monitored. In order to make the data gathered by the BMC available to programs and to other computer systems, the Intelligent Platform Management Interface (IPMI) standard has been created. IPMI is an industry standard for system monitoring and event recovery. The IPMI specification provides a common message-based interface for accessing all of the manageable features in a compatible computer. IPMI includes a rich set of predefined commands for reading temperature, voltage, fan speed, chassis intrusion, and other parameters. System event logs, hardware watchdogs, and power control can also be accessed through IPMI. In this manner, IPMI defines protocols for accessing the various parameters collected by a BMC through an operating system or through an external connection, such as through a network or serial connection.
IPMI defines certain system interfaces for transferring of IPMI messages between the BMC and the host computer, such as a keyboard controller style (KCS) interface, a block transfer (BT) interface, and a system management interface chip (SMIC) interface. In addition to these IPMI-defined system interfaces, there are disclosed techniques for providing a universal serial bus (USB) interface for IPMI communications, since data transfer will be at a higher speed through the USB interface than the IPMI-defined system interfaces such as the KCS interface. For example, the BMC may be used to emulate a virtual mass storage device, such as a CD-ROM device, which functions as a USB device for the host computer. In this case, IPMI commands to be transferred to the BMC may be encapsulated in a small computer systems interface (SCSI) command, which may be directed to the emulated CD-ROM device through the USB interface. Such techniques, however, presents a few major issues. Firstly, modern computer operating systems may put unused devices into a power save mode, in which standard USB devices may go to a low power suspend state. In such situation, the communication link between the BMC (which emulates the CD-ROM device) and the host computer is broken. To avoid breaking the communication link, the host computer OS has to be configured not to put unused devices into the power save mode, which means that all devices will be running in the full power mode such that the emulated CD-ROM device (i.e., the BMC) may be always available to the host computer. Further, since the emulated CD-ROM device cannot be disabled, all the virtual devices will be detected by the BIOS and the OS. This may cause a delay during the startup process of the BIOS. Further, the users of the host computer may be confused by all of the mass storage devices, including real CD-ROM devices and the emulated CD-ROM device, and cannot differentiate between these real and virtual devices.
Therefore, an unaddressed need exists in the art to address the aforementioned deficiencies and inadequacies.